The new generation of 56 kbps modem systems utilize a number of techniques that differ from conventional analog voice band modems (e.g., modems compatible with the V.34 standard). 56 kbps modem systems employ pulse code modulation (PCM) technology to facilitate higher downstream transmission data rates to an end user. For example, FIG. 1 depicts a conceptual diagram of a typical 56 kbps communication path using current PCM modem technology. A central site, such as an internet service provider (ISP) 100, is digitally connected to a telephone network 130 through a transmitter 110 and a receiver 120 of an ISP modem 105. The network 130 is connected to a local loop 150 through a central office line card 140. The line card typically has a PCM codec implemented therein. The local loop 150 is connected to the user's personal computer (PC) 170 at the user's site through the user's modem 160. As can be appreciated by those skilled in the art, the connection between the ISP modem transmitter 110 to the telephone network 130 is a digital connection with a typical data rate of 64 kbps. Since the parameters of the telephone network 130 and line card 140 are dictated and set by the operating specifications of the network (and particularly the use of the .mu.-law or A-law signal point constellations), the central site transmitter 110 is configured to transmit the digital data in a particular way to fully exploit its digital connection to the network.
A proposed operating protocol for 56 kbps PCM modem systems calls for the use of a data transmission scheme that performs multiple modulus conversion (MMC) on a number of bits that may be provided by a suitable scrambler or other processing element. Betts et al., U.S. Pat. No. 5,475,711, issued Dec. 12, 1994 and Betts et al., U.S. Pat. No. 5,684,834, issued Nov. 4, 1997, disclose data transmission systems that utilize single modulus converters in different contexts. MMC, on the other hand, is a known technique for expressing an integer number as a sum of quotients containing multiple moduli (or bases). A technical contribution by Dale Walsh entitled Multiple Modulus Conversion for Robbed Bit Signaling Channels (TIA TR30 Meetings, Mar. 4, 1997) sets forth one manner in which MMC may be used in the context of 56 kbps modem systems. The entire content of these publications is incorporated herein by reference.
In accordance with the MMC process, an integer (R) may be expressed as: EQU R=K.sub.0 +K.sub.1 M.sub.0 +K.sub.2 M.sub.0 M.sub.1 + . . . +K.sub.L-1 M.sub.0 M.sub.1 . . . M.sub.L-2,
where M.sub.i are the moduli, L is the number of moduli used to express R, and 0.ltoreq.K.sub.i &lt;M.sub.i. In the context of a 56 kbps modem system, L also represents the number of symbols transmitted per data frame and the values of M.sub.i also represent the number of signal point magnitudes contained in the signal point constellation associated with the i-th data frame phase. In such a context, the multiple moduli M.sub.i (which are determined prior to the MMC mapping such that 2.sup.B .ltoreq.M.sub.0 M.sub.1 . . . M.sub.L-1 is satisfied where B is the number of input bits associated with the MMC process) are used to map a number of bits expressed as the integer R. In the 56 kbps modem context, MMC operates in the absence of sign bits; sign bits are removed prior to the MMC process and replaced afterward. The MMC process generates the values of K.sub.i, which represent mapping indices associated with the respective signal point constellations. Thus, each K.sub.i value is used to select a particular PCM codeword for transmission over the telephone network. Upon decoding at the receiving modem, the original digital data is recovered (assuming no transmission errors).
Current MMC techniques for use with 56 kbps modem systems may not be implemented in an efficient manner. The MMC process necessarily requires a large number of computations, such as long word division, which may require an undesirably large amount of calculations and program code development time. Accordingly, such known MMC processes may be difficult to implement in a modem context where high data transmission rates are required. For example, some MMC procedures may not be capable of easily mapping very long digital sequences, e.g., integer numbers represented by 35 or more bits. Furthermore, such known MMC techniques may not lend themselves to systematic derivations of the K.sub.i index values; this limitation may increase the complexity of the MMC process.
In a practical system, the efficiency of the MMC procedure may depend upon the bit capacity of the digital signal processors employed by the system. It is well known that division routines in fixed point digital signal processors are notoriously inefficient. For example, many data communications systems employ a 16 bit signal processor. As such, binary operations may not be conveniently performed on digital inputs exceeding 16 bits. Indeed, when a large number of bits are input to the MMC process, an undesirably large number of operations may be required to adequately produce the appropriate output.
Accordingly, an improved MMC technique is needed to address the above shortcomings of the prior art.